|
In computer science, control flow analysis (CFA) is a static code analysis technique for determining the control flow of a program. The control flow is expressed as a control flow graph (CFG). For both functional programming languages and object-oriented programming languages, the term CFA, and elaborations such as ''k''-CFA, refer to specific algorithms that compute control flow. For many imperative programming languages, the control flow of a program is explicit in a program's source code. As a result, interprocedural control-flow analysis implicitly usually refers to a static analysis technique for determining the receiver(s) of function or method calls in computer programs written in a higher-order programming language. For example, in a programming language with higher-order functions like Scheme, the target of a function call may not be explicit: in the isolated expression it is unclear to which procedure f may refer. To determine the possible targets, a control-flow analysis must consider where this expression could be invoked, and what argument it may receive.Techniques such as abstract interpretation, constraint solving, and type systems may be used for control-flow analysis.〔Flemming Nielson, Hanne Riis Nielson & Chris Hankin (1999). ''Principles of Program Analysis''. Springer.〕 == See also == * Data-flow analysis * Cartesian product algorithm * Pointer analysis 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Control flow analysis」の詳細全文を読む スポンサード リンク
|